46 research outputs found

    Linqits: Big data on little clients

    Get PDF
    ABSTRACT We present LINQits, a flexible hardware template that can be mapped onto programmable logic or ASICs in a heterogeneous system-on-chip for a mobile device or server. Unlike fixed-function accelerators, LINQits accelerates a domainspecific query language called LINQ. LINQits does not provide coverage for all possible applications-however, existing applications (re-)written with LINQ in mind benefit extensively from hardware acceleration. Furthermore, the LINQits framework offers a graceful and transparent migration path from software to hardware. LINQits is prototyped on a 2W heterogeneous SoC called the ZYNQ processor, which combines dual ARM A9 processors with an FPGA on a single die in 28nm silicon technology. Our physical measurements show that LINQits improves energy efficiency by 8.9 to 30.6 times and performance by 10.7 to 38.1 times compared to optimized, multithreaded C programs running on conventional ARM A9 processors

    A Framework for Cost-Aware Decentralized Services ∗

    No full text
    Network services catering to large client populations are inevitably decentralized to benefit from the improved performance, availability, and scalability that decentralization offers. Decentralized network services might be deployed as independent servers in different administrative domains (e.g., domain name system), distributed globally with a central management (e.g., content distribution networks such as Akamai), or hosted on tightly-connected server clusters at a single location (e.g., search engines for the web). Irrespective of the deployment model, however, the overall performance of these services depends on the available amount of resources, such as the number of nodes, network bandwidth, memory or storage space, etc. The sheer scale of some of these services makes over-provisioning, a practice commonly resorted to in the industry, prohibitively expensive, and causes judicious resource allocation crucial for their performance. These network services often allocate resources in terms of logical units or objects. For example, a DNS record, an image or multi-media file, or a web page might be units of resource allocation. A fundamental resource allocation problem for these decentralized network services involves deciding which node hosts which object — a problem, that can get out of hand for a largescale network service with millions of objects and thousands of nodes making previously-known, centralized resource allocation techniques [2] impractical. The common approach to resource allocation in decentralized services is to use heuristics based on local informatio
    corecore